home *** CD-ROM | disk | FTP | other *** search
INI File | 1996-07-31 | 33.5 KB | 905 lines |
- ;
- ; -----------------------------------------------------------------------
- ; OEMSETUP file for 3Com 3C90x EtherLink XL adapters.
- ; Copyright 1994-1996 3Com Corporation. All rights reserved.
- ; -----------------------------------------------------------------------
- ;
- ; OS: Windows NT Version 3.5
- ; Platform type: Intel x86
- ;
- ; Supported adapters:
- ; -------------------
- ; 3Com Fast EtherLink XL (3C905)
- ; 3Com EtherLink XL (3C900)
- ;
- ; Usage:
- ;
- ; This file is used for the installation/configuration/deinstallation
- ; procedure of EtherLink XL drivers for Windows NT.
- ;
- ; Current Version: %VER 1.0c
- ;
- ; History:
- ; v1.0a {CDL): Initial version, from modified Vortex file
- ; v1.0b {CDL): Fixed some problems with finding and copying
- ; driver (.SYS) file
- ; v1.0c {CDL): Fixed problem finding file for update operation and
- ; added support for COMBO adapter
- ;
- ;------------------------------------------------------------------------
-
- [Identification]
- OptionType = NetAdapter
-
- [PlatformsSupported]
- ; ISA
- ; EISA
- ; "Jazz-Internal Bus"
- PCI
-
- [Options]
- 3C905 ; 10/100Mb Fast EtherLink XL
- 3C900 ; 10Mb EtherLink XL
-
- [FileConstants]
- UtilityInf = "UTILITY.INF"
- subroutineinf = "SUBROUTN.INF"
- SoftwareType = "driver"
- Exit_Code = 0
- NetEventDLL = "%SystemRoot%\System32\netevent.dll;%SystemRoot%\System32\drivers\el90x.sys"
- IoLogMsgDLL = "%SystemRoot%\System32\IoLogMsg.dll"
-
- Manufacturer = "3Com"
- ProductMajorVersion = "1"
- ProductMinorVersion = "0"
- ProductVersion = $(ProductMajorVersion)"."$(ProductMinorVersion)
- ProductSoftwareName = "El90x"
- ProductSoftwareImagePath = "%SystemRoot%\System32\drivers\el90x.sys"
- NetRuleSoftwareType = "El90xSys ndisDriver El90xDriver"
- NetRuleSoftwareUse = $(SoftwareType)
- NetRuleSoftwareBindForm = """El90xSys"" yes no container"
- NetRuleSoftwareClass = {"El90xDriver basic"}
- NetRuleSoftwareBindable = {"El90xDriver El90xAdapter non exclusive 100"}
- ProductHardwareName = "El90x"
- NetRuleHardwareBindForm = " yes yes container"
-
- ProductKeyName = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
- ParamKeyName = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
-
- FunctionTitle = "3Com 3C90x Adapter Card Setup"
- ProductSoftwareDescription = "3Com 3C90x Adapter Driver"
- ProductSoftwareTitle = "3Com 3C90x Adapter Driver"
-
- ProductHardware3C905Title = "3Com Fast EtherLink XL Adapter (3C905)"
- ProductHardware3C905Description = "3Com Fast EtherLink XL PCI 10/100Mb Adapter (3C905)"
- NetRuleHardware3C905Type = "El90x El90xAdapter"
- NetRuleHardware3C905Class = {"El90xAdapter basic"}
-
- ProductHardware3C900Title = "3Com EtherLink XL Adapter (3C900)"
- ProductHardware3C900Description = "3Com EtherLink XL PCI 10Mb Adapter (3C900)"
- NetRuleHardware3C900Type = "El90x El90xAdapter"
- NetRuleHardware3C900Class = {"El90xAdapter basic"}
-
- Adapter3C905Type = 5 ;; PCI board
- Adapter3C900Type = 5 ;; PCI board
- 3C905CFIDList = {36944} ;; 0x9050
- 3C900CFIDList = {36864, 36865} ;; 0x9000, 0x9001
-
- [GeneralConstants]
- from = ""
- to = ""
- ExitCodeOk = 0
- ExitCodeCancel = 1
- ExitCodeFatal = 2
- KeyNull = ""
- MAXIMUM_ALLOWED = 33554432
- RegistryErrorIndex = NO_ERROR
- KeyProduct = ""
- KeyParameters = ""
- TRUE = 1
- FALSE = 0
- NoTitle = 0
- ExitState = "Active"
- OldVersionExisted = $(FALSE)
- DriverPath = $(!STF_NTPATH)\drivers
- NT350VersionConstant = "3.50"
- NT310VersionConstant = "3.10"
-
- [date]
- Now = {} ? $(!LIBHANDLE) GetSystemDate
-
- [Identify]
- read-syms Identification
- set Status = STATUS_SUCCESSFUL
- set Identifier = $(OptionType)
- set Media = #("Source Media Descriptions", 1, 1)
- Return $(Status) $(Identifier) $(Media)
-
- [ReturnOptions]
- set Status = STATUS_FAILED
- set OptionList = {}
- set OptionTextList = {}
- set LanguageList = ^(LanguagesSupported, 1)
- Ifcontains(i) $($0) in $(LanguageList)
- ifstr(i) $($1) == ""
- goto returnoptions
- endif
- set PlatformList = ^(PlatformsSupported, 1)
- Ifcontains(i) $($1) in $(PlatformList)
- goto returnoptions
- else
- set Status = STATUS_NOTSUPPORTED
- goto finish_ReturnOptions
- endif
- else
- set Status = STATUS_NOLANGUAGE
- goto finish_ReturnOptions
- endif
-
- returnoptions = +
- set OptionList = ^(Options, 1)
- set OptionTextList = ^(OptionsText$($0), 1)
- set Status = STATUS_SUCCESSFUL
-
- finish_ReturnOptions = +
- Return $(Status) $(OptionList) $(OptionTextList)
-
- [InstallOption]
- ;;;
- ;;; Change "Set !G:DebugOutputControl=0" to 1 in NCAPSHEL.INF for debug support.
- ;;;
- ;;; set !G:DebugOutputControl=1 ;; Debug output {1=turned on, 0= turned off}
- set Option = $($1)
- set SrcDir = $($2)
- set AddCopy = $($3)
- set DoCopy = $($4)
- set DoConfig = $($5)
- set LanguageList = ^(LanguagesSupported, 1)
- Ifcontains(i) $($0) NOT-IN $(LanguageList)
- Return STATUS_NOLANGUAGE
- endif
- set-subst LF = "\n"
- read-syms GeneralConstants
- read-syms FileConstants
- read-syms DialogConstants$(!STF_LANGUAGE)
- ifstr(i) $(!NTN_Origination) == "NCPA"
- set Continue = "OK"
- endif
- read-syms FileConstants$(!STF_LANGUAGE)
- detect date
- set-title $(Function$(Option)Title)
- set to = Begin
- set from = Begin
- set CommonStatus = STATUS_SUCCESSFUL
- EndWait
-
- Begin = +
-
- ;;
- ;; Get the Version of Windows NT we are installing on. This will allow us to use the
- ;; PCI Support that will be included in NT v3.51
- ;;
- set CurrentVersionValue = ""
- OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows Nt\CurrentVersion" $(!REG_KEY_READ) KeyNt
- Ifstr(i) $(KeyNt) != ""
- GetRegValue $(KeyNt) "CurrentVersion" CurrentVersionValue
- Debug-Output "$(InfFile) $(Option): WinNT CurrentVersion ="$(CurrentVersionValue)
- CloseRegKey $(KeyNt)
- Endif
-
- ifstr(i) (*($(CurrentVersionValue),4)) == $(NT310VersionConstant) ;; NT v3.10 not supported!
- Debug-Output "$(InfFile) $(Option): Configureadapter"
- set Error = "Windows NT v3.10 is not support by this product"
- goto fatal
- endif
-
-
- Ifstr(i) $(!NTN_InstallMode) == deinstall
- set StartLabel = removeadapter
- else-Ifstr(i) $(!NTN_InstallMode) == Update
- set StartLabel = UpgradeSoftware
- else-Ifstr(i) $(!NTN_InstallMode) == bind
- set StartLabel = bindingadapter
- else-Ifstr(i) $(!NTN_InstallMode) == configure
- Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
- Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set Error = $($R0)
- set from = end
- set to = end
- goto nonfatalinfo
- else
- set StartLabel = configureadapter
- endif
- else
- set StartLabel = installadapter
- set OEM_ABANDON_OPTIONS = {}
- set OEM_ABANDON_SOFTWARE = FALSE
- set OEM_ABANDON_ON = TRUE
- endif
-
- Debug-Output "$(InfFile) $(Option): =================================================="
- Debug-Output "$(InfFile) $(Option): STF_CWDIR is: "$(!STF_CWDIR)
- Debug-Output "$(InfFile) $(Option): STF_SRCDIR is: "$(!STF_SRCDIR)
- Debug-Output "$(InfFile) $(Option): STF_LANGUAGE is: "$(!STF_LANGUAGE)
- Debug-Output "$(InfFile) $(Option): Option is: "$(Option)
- Debug-Output "$(InfFile) $(Option): !STF_NCN_InstallMode is:"$(!NTN_InstallMode)
- Debug-Output "$(InfFile) $(Option): !STF_NCDETECT is: "$(!STF_NCDETECT)
- Debug-Output "$(InfFile) $(Option): !STF_NCOPTION is: "$(!STF_NCOPTION)
- Debug-Output "$(InfFile) $(Option): !STF_NCDETCARD is: "$(!STF_NCDETCARD)
- Debug-Output "$(InfFile) $(Option): !STF_NCDETINFO is: "$(!STF_NCDETINFO)
- Debug-Output "$(InfFile) $(Option): !STF_GUI_UNATTENDED is: "$(!STF_GUI_UNATTENDED)
- Debug-Output "$(InfFile) $(Option): !STF_BusType is $(!STF_BUSTYPE)" ;; Primary Bus
- Debug-Output "$(InfFile) $(Option): !STF_BusTypeList is $(!STF_BUSTYPELIST)" ;; All Buses
- Debug-Output "$(InfFile) $(Option): =================================================="
-
- set from = $(fatal)
- set to = $(fatal)
- goto $(StartLabel)
-
- installadapter = +
-
- Debug-Output "$(InfFile) $(Option): Installadapter"
- OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
- Ifstr $(KeyProduct) != $(KeyNull)
- CloseRegKey $(KeyProduct)
- ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Debug-Output "ShellCode error: cannot get an error string."
- goto ShellCodeError
- endif
- goto end
- else
- set OldVersionExisted = $(TRUE)
- endif
- Endif
-
- ;;***
- ;; HACKHACK - Will copy when we have a help file!
- ;;
- ;; install "Install-Hlp"
- ;;
- Goto adapteroptions
-
- configureadapter = +
- Debug-Output "$(InfFile) $(Option): Configureadapter"
-
- set Error = "Cannot configure the software component"
- goto fatal
-
- adapteroptions = +
- Debug-Output "$(InfFile) $(Option): Adapteroptions"
- set from = adapteroptions
- ifstr(i) $(!NTN_InstallMode) == configure
- goto updateparameters
- endif
-
- installproduct =+
- Debug-Output "$(InfFile) $(Option): installproduct"
- StartWait
- set AdapterList = $($R1)
- ifint $(OldVersionExisted) == $(FALSE)
- Ifstr(i) $(DoCopy) == "YES"
- Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) NO
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Goto ShellCodeError
- Else-Ifstr(i) $($R0) == STATUS_FAILED
- Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set Error = $($R0)
- Goto fatal
- Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
- Goto successful
- Endif
- ;Set SrcDir = $($R1)
- Endif
-
- install "Install-Option"
- ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
- Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set Error = $($R0)
- goto fatal
- endif
- endif
-
- ;
- ; Check to see if the Product Software key exists already in the system service keys
- ; before we try to add the software component.
- ;
- OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\"$(ProductHardwareName) $(!REG_KEY_READ) KeyNt
- CloseRegKey $(KeyNt)
-
- Ifstr(i) $(KeyNt) == ""
- Debug-Output "$(InfFile) $(Option): AddSoftwareComponent"
- Debug-Output "$(InfFile) $(Option): --> $(Manufacturer)"
- Debug-Output "$(InfFile) $(Option): --> $(ProductSoftwareName)"
- Debug-Output "$(InfFile) $(Option): --> $(ProductSoftwareTitle)"
- Debug-Output "$(InfFile) $(Option): --> $(STF_CONTEXTINFNAME)"
- Debug-Output "$(InfFile) $(Option): --> $(ProductSoftwareImagePath)"
- Debug-Output "$(InfFile) $(Option): --> $(NetEventDLL)"
-
- Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
- $(ProductSoftwareName), +
- $(ProductSoftwareName), +
- $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
- $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
- $(NetEventDLL)
-
- Set OEM_ABANDON_SOFTWARE = TRUE
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set RegistryErrorIndex = $($R0)
- Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
- EndWait
- CloseRegKey $($R1)
- CloseRegKey $($R2)
- CloseRegKey $($R3)
- CloseRegKey $($R4)
- CloseRegKey $($R5)
- goto fatalregistry
- endif
- Set SoftProductKey = $($R1)
- Set SoftNetRuleKey = $($R2)
- Set SoftServiceKey = $($R3)
- Set SoftParameterKey = $($R4)
- Set SoftLinkageKey = $($R5)
- set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
- {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
- {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
- {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
- {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
- {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
- {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
- Shell $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set RegistryErrorIndex = $($R0)
- Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
- EndWait
- CloseRegKey $(SoftProductKey)
- CloseRegKey $(SoftNetRuleKey)
- CloseRegKey $(SoftServiceKey)
- CloseRegKey $(SoftParameterKey)
- CloseRegKey $(SoftLinkageKey)
- goto fatalregistry
- endif
- set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
- {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
- {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
- {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
- {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
- {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
- Shell $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set RegistryErrorIndex = $($R0)
- CloseRegKey $(SoftProductKey)
- CloseRegKey $(SoftNetRuleKey)
- CloseRegKey $(SoftServiceKey)
- CloseRegKey $(SoftParameterKey)
- CloseRegKey $(SoftLinkageKey)
- Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
- EndWait
- goto fatalregistry
- endif
- endif ;; Does Services\el90x exist?
-
- Debug-Output "$(InfFile) $(Option): About to look for 3Com PCI Cards"
- ;;
- ;; We must be installing a PCI card.
- ;;
- ;; Note: If we are are on WinNT v3.51 and above, we have PCI detection support
- ;; and are able to setup the adapter without user intervention. Otherwise, we can
- ;; only do one card at a time.
- ;;
- set TargetVersion = *($(CurrentVersionValue),4)
- Debug-Output "$(InfFile) $(Option): Current Version:"$(TargetVersion)
-
- ifstr $(TargetVersion) == $(NT350VersionConstant) ;; We need to ask on v3.50
- Debug-Output "Running on WindowsNT 3.50"
- set Version350 = $(TRUE)
- else
- Debug-Output "Running on WindowsNT 3.51"
- set Version350 = $(FALSE)
- endif
-
- ifint $(Version350) == $(TRUE)
- Debug-Output "Running on WindowsNT v3.50, Not using PCI Detection!!!"
- ifstr $(!STF_GUI_UNATTENDED) == "YES"
- Debug-Output "$(InfFile) $(Option): Running in GUI unattended mode"
- ifstr(i) $(!AutoNetInterfaceType) != ""
- set BusInterfaceType = $(!AutoNetInterfaceType)
- else
- set BusInterfaceType = 5
- endif
- ifstr(i) $(!AutoNetBusNumber) != ""
- set BusNumber = $(!AutoNetBusNumber)
- else
- set BusNumber = 0
- endif
- set NTDetected = $(FALSE)
- set AdapterList = $(Option) ;; 1 Item to install
- Debug-Output "$(InfFile) $(Option): BusInterfaceType = $(BusInterfaceType)"
- Debug-Output "$(InfFile) $(Option): BusNumber = $(BusNumber)"
- else
- Debug-Output "$(InfFile) $(Option): Running 3.50 Bus Dialog"
- set BusInterfaceType = 5
- set BusNumber = 0
- set NTDetected = $(FALSE)
- Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardware$(Option)Description) $(BusInterfaceType) $(BusNumber)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Debug-Output "ShellCode error."
- goto ShellCodeError
- endif
- set BusInterfaceType = $($R1)
- set BusNumber = $($R2)
- set AdapterList = $(Option) ;; 1 Item to install
- Debug-Output "$(InfFile) $(Option): BusInterfaceType = $(BusInterfaceType)"
- Debug-Output "$(InfFile) $(Option): BusNumber = $(BusNumber)"
- endif
- else
- Debug-Output "$(InfFile) $(Option): Running 3.51 using PCI Dectection"
- ;;
- ;; v3.51 has PCI detection code built in.
- ;;
- ;;set BusInterfaceType = 5
- ;;set BusNumber = 0
- ;; Shell $(UtilityInf),GetBusTypeDialog,$(ProductHardware$(Option)Description) $(BusInterfaceType) $(BusNumber)
-
- set NTDetected = $(TRUE)
- set Vendor = 4279 ;; 0x10b7 is 3Com's Vendor ID!
- set CFIDList = $($(Option)CFIDList)
- Debug-Output "$(InfFile) $(Option): VendorID = $(Vendor)"
- Debug-Output "$(InfFile) $(Option): CFIDList = $(CFIDList)"
- set AdapterList = {}
- ForListDo $(CFIDList)
- set-div CFID = $($) 1
- Shell $(UtilityInf), GetPCIInformation, $(Vendor) $(CFID)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- ForListDo $($R0)
- set AdapterList = >($(AdapterList), $($))
- EndForListDo
- EndForListDo
- ifstr(i) $(AdapterList) == {}
- set Error = $(CANNOT_FIND_ANY_CARD)
- set CommonStatus = USER_CANCEL
- set from = end
- goto nonfatal
- endif
- endif ;;; NT v3.50
-
- ; "AdapterList" has the list of currently installed adatpers in the system!
- ;
- Debug-Output "$(InfFile) $(Option): Adapterlist = $(AdatperList)"
- ForListDo $(AdapterList)
- Set InstallCard = "YES"
- ifint $(NTDetected) == $(TRUE)
- set DetectedBusNum = *($($),1)
- set DetectedSlotNum = *($($),2)
- Debug-Output "$(InfFile) $(Option): DetectedBusNumber = $(DetectedBusNum)"
- Debug-Output "$(InfFile) $(Option): DetectedSlotNum = $(DetectedSlotNum)"
-
- Shell $(UtilityInf), IsNetCardAlreadyInstalled, $(DetectedBusNum), +
- $(DetectedSlotNum), $(ProductHardware$(Option)Description), $(ProductHardwareName)
-
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- ifstr $($R0) != "NO_ERROR"
- set Error = $($R0)
- goto fatal
- endif
- ifstr(i) $($R1) == "YES"
- set InstallCard = "NO" ;; Don't want to re-install, it's there already
- endif
- endif
- ;;
- ;; Are we installing the card?
- ;;
- ifstr(i) $(InstallCard) == "NO"
- Debug-Output "$(InfFile) $(Option): Card Already at $(DetectedBusNum):$(DetectedSlotNum) already installed!"
- set Error = "An adapter at $(DetectedBusNum):$(DetectedSlotNum) is already installed!"
- Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- else
- Debug-Output "$(InfFile) $(Option): Installing Card at $(DetectedBusNum):$(DetectedSlotNum)!"
- Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
- ifint $($R4) != -1
- Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
- endif
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set RegistryErrorIndex = $($R0)
- Ifstr(i) $(RegistryErrorIndex) != "NO_ERROR"
- EndWait
- CloseRegKey $($R1)
- CloseRegKey $($R2)
- CloseRegKey $($R3)
- goto fatalregistry
- endif
- Set HardNetCardKey = $($R1)
- Set HardNetRuleKey = $($R2)
- Set HardParameterKey = $($R3)
- set AdapterNumber = $($R4)
- set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
- {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
- {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
- {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
- {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
- {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
- Shell $(UtilityInf), AddValueList, $(HardNetCardKey), $(NewValueList)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- ;
- ; We are installing PCI
- ;
- set BusTypeNum = 5
- ifstr(i) $(Option) == "3C905"
- set CardType = 0
- else
- set CardType = 2
- endif
- ;;
- ;; If we used the OS to dected the card, then we already know bus and slot information.
- ;;
- ifint $(NTDetected) == $(TRUE)
- set BusNumber = $(DetectedBusNum)
- set SlotNum = $(DetectedSlotNum)
- set BusInterfaceType = $(BusTypeNum)
- ;
- ; Note: we need to record SlotNumber too so that we can use the
- ; "IsNetCardAlreadyInstalled" routine
- ;
- Set NewValueList = {+
- {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
- {Slot,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)}+
- }
- Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
- Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
-
- Set NewValueList = { {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)} }
- Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
- Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- else
- Set NewValueList = {+
- {BusNumber,$(NoTitle),$(!REG_VT_DWORD),$(BusNumber)},+
- }
- Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
- Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- endif
-
- Set NewValueList = {+
- {BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusInterfaceType)},+
- {CardType,$(NoTitle),$(!REG_VT_DWORD),$(CardType)},+
- {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
- }
-
- Debug-Output "$(InfFile) $(Option): Set HardwareParameterKey = $(NewValueList)"
- Shell $(UtilityInf), AddValueList, $(HardParameterKey), $(NewValueList)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
-
- set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
- set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
- set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardware$(Option)Type)},+
- {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
- {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardware$(Option)Class)}, +
- {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
-
- Debug-Output "$(InfFile) $(Option): HardwareRuleKey = $(NewValueList)"
- Shell $(UtilityInf), AddValueList, $(HardNetRuleKey), $(NewValueList)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- CloseRegKey $(HardNetCardKey)
- CloseRegKey $(HardNetRuleKey)
- CloseRegKey $(HardParameterKey)
- endif
- EndForListDo
- EndWait
- goto successful
-
- updateparameters =+
- Debug-Output "$(InfFile) $(Option): Updateparameters"
- set HardParameterKey = $($R3)
-
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- CloseRegKey $(KeyParameters)
- goto successful
-
- bindingadapter =+
- Debug-Output "$(InfFile) $(Option): bindingadapter"
- set Error = "Binding: Sorry, not yet implemented."
- goto fatal
-
- removeadapter = +
- Debug-Output "$(InfFile) $(Option): removeadapter"
- Debug-Output "$(InfFile) $(Option): ----> $(ProductKeyName), $(!NTN_RegBase)"
- Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
- Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
- $(ProductSoftwareName)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set RegistryErrorIndex = $($R0)
- Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
- goto fatalregistry
- endif
- else
- Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
- $(ProductSoftwareName), $(!NTN_RegBase)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set RegistryErrorIndex = $($R0)
- Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
- goto fatalregistry
- endif
- endif
- goto end
-
- UpgradeSoftware = +
- Debug-Output "$(InfFile) $(Option): UpdateSoftware"
- OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
- Ifstr $(KeyProduct) != $(KeyNull)
- Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- Debug-Output "ShellCode error"
- goto ShellCodeError
- endif
- set !UG_Filename = $($R0)
- install "Install-Update"
- ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
- goto fatal
- endif
- SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
- SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
- CloseRegKey $(KeyProduct)
- else
- goto fatalregistry
- endif
- goto end
-
- successful = +
- Debug-Output "$(InfFile) $(Option): Successful"
- goto end
-
- abandon = +
- Debug-Output "$(InfFile) $(Option): Abandon"
- ForListDo $(OEM_ABANDON_OPTIONS)
- Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
- $(ProductSoftwareName), $($)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set RegistryErrorIndex = $($R0)
- Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
- goto fatalregistry
- endif
- EndForListDo
- Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
- Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
- $(ProductSoftwareName), FALSE
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set RegistryErrorIndex = $($R0)
- Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
- goto fatalregistry
- endif
- endif
- goto end
-
- warning = +
- Debug-Output "$(InfFile) $(Option): warning"
- Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- ifstr(i) $($R1) == "OK"
- goto $(to)
- else-ifstr(i) $($R1) == "CANCEL"
- goto $(from)
- else
- goto "end"
- endif
-
- nonfatalinfo = +
- Debug-Output "$(InfFile) $(Option): nonfatalinfo"
- Set CommonStatus = STATUS_USERCANCEL
- Set Severity = STATUS
- goto nonfatalmsg
-
- nonfatal = +
- Debug-Output "$(InfFile) $(Option): nonfatal"
- Set Severity = NONFATAL
- goto nonfatalmsg
-
- nonfatalmsg = +
- Debug-Output "$(InfFile) $(Option): nonfatalmsg"
- ifstr(i) $(Error) == ""
- Set Severity = NONFATAL
- Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set Error = $($R0)
- endif
- Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- ifstr(i) $($R1) == "OK"
- goto $(from)
- else
- ; goto "end"
- goto "RemoveAdapter"
- endif
-
- fatalregistry = +
- Debug-Output "$(InfFile) $(Option): fatalregistry"
- Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set Error = $($R0)
- goto fatal
-
- fatal = +
- Debug-Output "$(InfFile) $(Option): fatal"
- ifstr(i) $(Error) == ""
- Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- set Error = $($R0)
- endif
- Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
- ifint $($ShellCode) != $(!SHELL_CODE_OK)
- goto ShellCodeError
- endif
- goto setfailed
-
- ShellCodeError = +
- Debug-Output "$(InfFile) $(Option): ShellCodeError"
- set DlgType = "MessageBox"
- set STF_MB_TITLE = $(ShellCodeErrorTitle)
- set STF_MB_TEXT = $(ShellCodeErrorText)
- set STF_MB_TYPE = 1
- set STF_MB_ICON = 3
- set STF_MB_DEF = 1
- ui start "Error Message"
- goto setfailed
-
- setfailed = +
- Debug-Output "$(InfFile) $(Option): Setfailed"
- set CommonStatus = STATUS_FAILED
- ifstr(i) $(OEM_ABANDON_ON) == TRUE
- set OEM_ABANDON_ON = FALSE
- goto abandon
- endif
- goto end
-
- end = +
- goto term
-
- term = +
- Return $(CommonStatus)
-
- [Install-Option]
- set STF_VITAL = ""
- ifstr(i) $(AddCopy) == "YES"
- AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
- endif
- ifstr(i) $(DoCopy) == "YES"
- set !STF_NCPA_FLUSH_COPYLIST = TRUE
- CopyFilesInCopyList
- endif
- Exit
-
- [Install-Hlp]
- set STF_VITAL = ""
- AddSectionFilesToCopyList Files-Hlp $(SrcDir) $(!STF_WINDOWSSYSPATH)
- set !STF_NCPA_FLUSH_COPYLIST = TRUE
- CopyFilesInCopyList
- Exit
-
- [Install-Update]
- set STF_VITAL = ""
- set STF_OVERWRITE = "VERIFYSOURCEOLDER"
- ;; HACKHACK - Will copy when we have a help file!
- ;; AddSectionFilesToCopyList Files-Hlp $(SrcDir) $(!STF_WINDOWSSYSPATH)
- AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
- AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
- set !STF_NCPA_FLUSH_COPYLIST = TRUE
- CopyFilesInCopyList
- exit
-
- [Source Media Descriptions]
- 1 = "Windows NT Setup Disk #1"
- 2 = "3Com Etherdisk for Fast EtherLink XL / EtherLink XL Adapters"
-
- [Signature]
- FileType = MICROSOFT_DRVLIB_FILE
- [GetSignature]
- read-syms Signature
- return $(FileType)
-
- [ProductType]
- STF_PRODUCT = Winnt
- STF_PLATFORM = I386
-
- [Files-Inf]
- 2, oemsetup.inf, SIZE=1000, RENAME=$(!UG_Filename)
-
- [Files-Hlp]
- 2,3C90x.hlp , SIZE=88888
-
- ;
- ; Driver files
- ;
- [Files-3C905]
- 2,EL90x.SYS , SIZE=88888
- [Files-3C900]
- 2,EL90x.SYS , SIZE=88888
-
- [LanguagesSupported]
- ENG
-
- [OptionsTextENG]
- 3C905 = "3Com Fast EtherLink XL Adapter (3C905)"
- 3C900 = "3Com EtherLink XL Adapter (3C900)"
-
- [FileConstantsENG]
- ProCaption = "Windows NT v3.5 Setup"
- ProCancel = "Cancel"
- ProCancelMsg = "Windows NT Networking is not correctly installed. "+
- "Are you sure you want to cancel copying files?"
- ProCancelCap = "Network Setup Message"
- ProText1 = "Copying:"
- ProText2 = "To:"
-
- ConnectionList = ^(ConnectionChoices$(Option), 1)
- ConnectionValues = ^(ConnectionChoices$(Option), 2)
- NoList = ^(NoChoices, 1)
- NoValues = ^(NoChoices, 2)
- ShellCodeErrorTitle = "Error: "$(Function$(Option)Title)
- ShellCodeErrorText = "Shell Code Error."
- CANNOT_FIND_ANY_CARD = "Network card is not present in the system"
-
- [DialogConstantsENG]
- Help = "&Help"
- Exit = "Cancel"
- OK = "OK"
- HelpContext = ""
- Continue = "Continue"
- Cancel = "Cancel"
-